/**
 * 验证有效的成对圆括号
 * @param {*} str
 */
function valid_parentheses(str) {
  let hash = []
  if (!str || str[0] === ')') return false
  for (const char of str) {
    if (char === '(') hash.push(char)
    if (char === ')') {
      if (hash.includes('(')) hash.pop()
      else hash.push(char)
    }
  }
  return !hash.length
}
console.log(validparentheses('()'))
console.log(validparentheses('())'))
console.log(validparentheses('))(('))

/**
 * 思路分析：利用栈思想
 * 1.如果有左括号，就入栈'('
 * 2.再匹配右括号，如果此时数组里有左括号，就进行出栈操作，反之再入栈')'
 */
